/*
给定一个只包括 '(' ，')' ，'{' ，'}' ，'[' ，']' 的字符串，判断字符串是否有效。

有效字符串需满足：

左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
* */

const isValid = function(s) {
    let map = {
        '{': '}',
        '(': ')',
        '[': ']'
    }
    let stack = []
    for(let i = 0; i < s.length ; i++) {
        if(map[s[i]]) {
            stack.push(s[i])
        } else if(s[i] !== map[stack.pop()]){
            return false
        }
    }
    return stack.length === 0
};

function isValid2(arr){
    var map={
        ')':'(',
        ']':'[',
        '}':'{'
    }
    var stack=[]
    for (var i=0;i<arr.length;i++){
        if(map[arr[i]]){
            stack.push(arr[i])
        }else if(arr[i]!==map[stack.pop] ){
             return false
        }
    }
    return stack.length===0
}
